///////////////////////////////////////////////////////////////////////////////
// Copyright (c) Nate Waddoups
// SamplePacketData.cs
///////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Text;

namespace NateW.Ssm
{
    /// <summary>
    /// Contains samples of SSM packets
    /// </summary>
    public static class SamplePacketData
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
        public static readonly IList<byte> EcuInitRequest = new ReadOnlyList<byte>(new byte[]
            {
                0x80, 0x10, 0xF0, 0x01, 0xBF, 0x40
            });

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
        public static readonly IList<byte> EcuInitResponse = new ReadOnlyList<byte>(new byte[]
            {
                0x80, 0xF0, 0x10, 0x39, 0xFF, 
                0xA2, 0x10, 0x11, 0x2F, 0x12, 0x78, 0x52, 0x06, 
                0x73, 0xFA, 0xCB, 0xA6, 0x2B, 0x81, 0xFE, 0xA8, 
                0x00, 0x00, 0x00, 0x60, 0xCE, 0x54, 0xF9, 0xB1, 
                0xE4, 0x00, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 
                0x00, 0xDC, 0x00, 0x00, 0x5D, 0x1F, 0x30, 0xC0, 
                0xF2, 0x26, 0x00, 0x00, 0x43, 0xFB, 0x00, 0xE1, 
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0xF0, 
                0x28,  
            });

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
        public static readonly IList<byte> MultipleReadRequest = new ReadOnlyList<byte>(new byte[]
            {
                0x80, 0x10, 0xF0, 0x08, 0xA8, 0x00, 
                0x00, 0x00, 0x29, 
                0x00, 0x00, 0x20, 
                0x79, 
            });

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
        public static readonly IList<byte> MultipleReadResponse = new ReadOnlyList<byte>(new byte[]
            {
                0x80, 0xF0, 0x10, 0x03, 0xE8, 
                0x00, 0x09, 
                0x74,
            });

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
        public static readonly IList<byte> BlockReadRequest = new ReadOnlyList<byte>(new byte[]
            { 
                0x80, 0x10, 0xF0, 0x06, 0xA0, 0x00, 0x20, 0x00, 0x00, 0x7F, 0xC5, 
            });

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
        public static readonly IList<byte> BlockReadResponse = new ReadOnlyList<byte>(new byte[] {
                0x80, 0xF0, 0x10, 0x81, 0xE0,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                0xE1
        });
    }
}
